From: Kirill A. Shutemov Date: Thu, 14 Nov 2013 22:31:48 +0000 (-0800) Subject: xtensa: handle pgtable_page_ctor() fail X-Git-Tag: archive/raspbian/4.9.13-1+rpi1~10^2~7674^2~27 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=8f43123d170ad9a6760e424af5bde7569fdd8c12;p=linux-4.9.git xtensa: handle pgtable_page_ctor() fail Signed-off-by: Kirill A. Shutemov Cc: Chris Zankel Cc: Max Filippov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/xtensa/include/asm/pgalloc.h b/arch/xtensa/include/asm/pgalloc.h index 037671a655dc..b8774f1e21e6 100644 --- a/arch/xtensa/include/asm/pgalloc.h +++ b/arch/xtensa/include/asm/pgalloc.h @@ -58,7 +58,10 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm, if (!pte) return NULL; page = virt_to_page(pte); - pgtable_page_ctor(page); + if (!pgtable_page_ctor(page)) { + kmem_cache_free(pgtable_cache, pte); + return NULL; + } return page; }